package thread;

public class ThreadDemo2 {
    public static void main(String[] args) {
        //单独实例化任务
        Runnable r1 = new MyRunnable1();
        Runnable r2 = new MyRunnable2();

        Thread t1 = new Thread(r1);
        Thread t2 = new Thread(new MyRunnable2());

        t1.start();
        t2.start();

    }
}

/**
 * 这里单独定义任务是实现Runnable接口（或者后期在线程池中实现Callable接口）
 * 由于是实现接口，不再是直接继承Thread，因此没有继承冲突问题了
 *
 * 线程与任务解耦，
 */
class MyRunnable1 implements Runnable{
    public void run(){
        for (int i = 0; i < 1000; i++) {
            System.out.println("你谁啊");
        }
    }
}

class MyRunnable2 implements Runnable{
    public void run(){
        for (int i = 0; i < 1000; i++) {
            System.out.println("开门");
        }
    }
}